fix(backend): keep 4xx statuses from body-parser errors - #42
Open
veb wants to merge 1 commit into
Open
Conversation
The catch-all mapped every non-ClientError to 500, so malformed JSON and oversize bodies read as server faults: monitoring counts them against 5xx rates and webhook senders retry them forever. http-errors carries a numeric status; honour it when it is a 4xx.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The catch-all maps every non-ClientError to 500, so malformed JSON and oversize bodies read as server faults: monitoring counts them against 5xx rates and webhook senders retry them forever. http-errors carries a numeric status; honour it when it is a 4xx.
Also brings over the regression test for the mid-body hangup crash the handler exists to prevent (a client aborting a POST mid-upload used to kill the process under Polka's default handler; this pins the custom handler against it). Note: the freia pin carries the same two changes on fix/abort-crash-freia-pin.
Tested: backend suite 483/483 on the pin branch; the new test file runs against the same handler code here.